#ifndef SINGLE
//  An adapted ObjectSpace example for use with SGI STL

#include <algo.h>
#include <iostream.h>
#include <string.h>

#ifdef MAIN
#define uniqcpy2_test main
#endif
static bool str_equal(const char* a_, const char* b_)
{
  return ::strcmp(a_, b_) == 0 ? 1 : 0;
}
#endif
int uniqcpy2_test(int, char**)
{
  cout<<"Results of uniqcpy2_test:"<<endl;

#ifndef ACORN_CFRONT
char* labels[] = { "Q","Q","W","W","E","E","R","T","T","Y","Y" };
#else
static char* labels[] = { "Q","Q","W","W","E","E","R","T","T","Y","Y" };
#endif

  const unsigned count = sizeof(labels) / sizeof(labels[0]);
  ostream_iterator <char*> iter(cout);
  copy(labels, labels + count, iter);
  cout << endl;
  char* uCopy[count];
  fill(uCopy, uCopy + count, "");
  unique_copy(labels, labels + count, uCopy, str_equal);
  copy(labels, labels + count, iter);
  cout << endl;
  copy(uCopy, uCopy + count, iter);
  cout << endl;
  return 0;
}
